<?php
namespace Common\Utils;
/**
 * Created by PhpStorm.
 * User: iicat
 * Date: 2017/6/24
 * Time: 下午2:19
 */
class ImageUtils
{

    /**
     * 生成缩略图
     * @param $id
     * @param $width
     * @param $height
     * @param $path 缩略图存储路径
     * @param $image_url='' 真实图片url
     * @param $type=2 缩略图类型
     * @return string
     */
    function thum_images($id,$width,$height,$path,$image_url='',$delete=false,$type=2){
        if(empty($id))
            return '';
        //判断缩略图是否存在
        $path = "Uploads/$path/thumb/$id/";
        $thumb_name ="thumb_{$id}_{$width}_{$height}";
        if(!$delete) {
            // 这个商品 已经生成过这个比例的图片就直接返回了
            if (file_exists('./' . $path . $thumb_name . '.jpg')) return $path . $thumb_name . '.jpg';
            if (file_exists('./' . $path . $thumb_name . '.jpeg')) return $path . $thumb_name . '.jpeg';
            if (file_exists('./' . $path . $thumb_name . '.gif')) return $path . $thumb_name . '.gif';
            if (file_exists('./' . $path . $thumb_name . '.png')) return $path . $thumb_name . '.png';
        }else{
            if (file_exists('./' . $path . $thumb_name . '.jpg')) unlink('./' . $path . $thumb_name . '.jpg');
            if (file_exists('./' . $path . $thumb_name . '.jpeg')) unlink('./' . $path . $thumb_name . '.jpeg');
            if (file_exists('./' . $path . $thumb_name . '.gif')) unlink('./' . $path . $thumb_name . '.gif');
            if (file_exists('./' . $path . $thumb_name . '.png')) unlink('./' . $path . $thumb_name . '.png');
        }

        $original_img = $image_url;
        if(empty($original_img)) return '';

        $original_img = './'.$original_img; // 相对路径
        if(!file_exists($original_img)) return '';

        $image = new \Think\Image();
        $image->open($original_img);

        $thumb_name = $thumb_name. '.'.$image->type();
        //生成缩略图
        if(!is_dir($path))
            mkdir($path,0755,true);

        //参考文章 http://www.mb5u.com/biancheng/php/php_84533.html  改动参考 http://www.thinkphp.cn/topic/13542.html
        $image->thumb($width, $height,$type)->save($path.$thumb_name,NULL,100); //按照原图的比例生成一个最大为$width*$height的缩略图并保存

        //图片水印处理
//        $water = tpCache('water');
//        if($water['is_mark']==1){
//            $imgresource = './'.$path.$thumb_name;
//            if($width>$water['mark_width'] && $height>$water['mark_height']){
//                if($water['mark_type'] == 'img'){
//                    $image->open($imgresource)->water(".".$water['mark_img'],$water['sel'],$water['mark_degree'])->save($imgresource);
//                }else{
//                    //检查字体文件是否存在
//                    if(file_exists('./zhjt.ttf')){
//                        $image->open($imgresource)->text($water['mark_txt'],'./zhjt.ttf',20,'#000000',$water['sel'])->save($imgresource);
//                    }
//                }
//            }
//        }
        return ''.$path.$thumb_name;
    }
}